/**
 * @author: 團長
 * @date: 2014-4-8-下午2:14:10
 */
package net.loyintean.pearlshell.base.model.impl;

import net.loyintean.pearlshell.base.model.ILogInfo;

/**
 * simple factory for {@link ILogInfo} and {@link LogInfoModel}<br>
 * 2014-11-18 jun.lin 增加 {@link #BUILD(String, String)}方法。v20141118.2.0.0
 * 
 * @author 團長
 * @since 2014-11-18
 * @version v20141118.2.0.0
 */
public class LogInfoFactory {

	/**
	 * build an instance of ILogInfo. it's stub is input parameter 'stub', and
	 * it's prefix is ":"
	 * 
	 * @author 團長
	 * @since 2014-4-8
	 * @param stub
	 *            stub message
	 * @return
	 */
	public static final ILogInfo BUILD(String stub) {
		ILogInfo logInfo = new DequeLogInfoModel(stub);
		return logInfo;
	}

	/**
	 * 指定日志桩信息结束标志的方法
	 * <p>
	 * 当stub中包含有“:”，例如使用了默认的日期格式时，默认方法 {@link #BUILD(String)}
	 * 会错误的截断日志信息。此时应使用这个方法
	 * 
	 * @param stub
	 * @param preFix
	 * @return 以preFix结尾的日志桩信息
	 */
	public static final ILogInfo BUILD(String stub, String preFix) {
		ILogInfo logInfo = new LogInfoModel(stub, preFix);
		return logInfo;
	}
}
